#ifndef SCANNER_H
#define SCANNER_H
#include <string>
#include <vector>
#include <iostream>
#include "table.h"

using namespace std;
struct Token
{
    string token;
    int kind;
};

ostream& operator<<(ostream &o, const Token &t);
/**
 * 扫描器
*/
class Scanner
{
private:
    Table table;
public:
    vector<Token> do_scan(istream &in);
    Scanner(const Table &_table);
};
#endif